package com.ruoyi.picking_detail.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 生产领料子对象 erp_material_issue_detail
 * 
 * @author ruoyi
 * @date 2025-07-18
 */
public class ErpMaterialIssueDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 料号 */
    @Excel(name = "料号")
    private String materialCode;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialName;

    /** 物料规格 */
    @Excel(name = "物料规格")
    private String materialSpec;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 属性 */
    @Excel(name = "属性")
    private String attribute;

    /** 批号 */
    @Excel(name = "批号")
    private String batchNumber;

    /** 仓库 */
    @Excel(name = "仓库")
    private String warehouse;

    /** 库位 */
    @Excel(name = "库位")
    private String location;

    /** 需求数量 */
    @Excel(name = "需求数量")
    private BigDecimal requiredQuantity;

    /** 实发数量 */
    @Excel(name = "实发数量")
    private BigDecimal actualQuantity;

    /** 来源单据 */
    @Excel(name = "来源单据")
    private String sourceDocument;

    /** 来源订单 */
    @Excel(name = "来源订单")
    private String sourceOrder;

    /** 操作 */
    @Excel(name = "操作")
    private String operation;

    /** 关联的主表ID */
    private Long parentId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setMaterialCode(String materialCode) 
    {
        this.materialCode = materialCode;
    }

    public String getMaterialCode() 
    {
        return materialCode;
    }

    public void setMaterialName(String materialName) 
    {
        this.materialName = materialName;
    }

    public String getMaterialName() 
    {
        return materialName;
    }

    public void setMaterialSpec(String materialSpec) 
    {
        this.materialSpec = materialSpec;
    }

    public String getMaterialSpec() 
    {
        return materialSpec;
    }

    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }

    public void setAttribute(String attribute) 
    {
        this.attribute = attribute;
    }

    public String getAttribute() 
    {
        return attribute;
    }

    public void setBatchNumber(String batchNumber) 
    {
        this.batchNumber = batchNumber;
    }

    public String getBatchNumber() 
    {
        return batchNumber;
    }

    public void setWarehouse(String warehouse) 
    {
        this.warehouse = warehouse;
    }

    public String getWarehouse() 
    {
        return warehouse;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setRequiredQuantity(BigDecimal requiredQuantity) 
    {
        this.requiredQuantity = requiredQuantity;
    }

    public BigDecimal getRequiredQuantity() 
    {
        return requiredQuantity;
    }

    public void setActualQuantity(BigDecimal actualQuantity) 
    {
        this.actualQuantity = actualQuantity;
    }

    public BigDecimal getActualQuantity() 
    {
        return actualQuantity;
    }

    public void setSourceDocument(String sourceDocument) 
    {
        this.sourceDocument = sourceDocument;
    }

    public String getSourceDocument() 
    {
        return sourceDocument;
    }

    public void setSourceOrder(String sourceOrder) 
    {
        this.sourceOrder = sourceOrder;
    }

    public String getSourceOrder() 
    {
        return sourceOrder;
    }

    public void setOperation(String operation) 
    {
        this.operation = operation;
    }

    public String getOperation() 
    {
        return operation;
    }

    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("materialCode", getMaterialCode())
            .append("materialName", getMaterialName())
            .append("materialSpec", getMaterialSpec())
            .append("unit", getUnit())
            .append("attribute", getAttribute())
            .append("batchNumber", getBatchNumber())
            .append("warehouse", getWarehouse())
            .append("location", getLocation())
            .append("requiredQuantity", getRequiredQuantity())
            .append("actualQuantity", getActualQuantity())
            .append("sourceDocument", getSourceDocument())
            .append("sourceOrder", getSourceOrder())
            .append("remark", getRemark())
            .append("operation", getOperation())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("parentId", getParentId())
            .toString();
    }
}
